[package]
name = "server"
version = "0.1.0"
edition = "2021"
workspace = ".."
license = "MIT"
description = "egoroff.spb.ru server"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
kernel = { path = "../kernel" }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
mime_guess = "2"
axum = { version = "0.6.18", features = ["multipart", "http2", "headers"] }
axum-server = { version = "0.5.1", features = ["tls-rustls"] }
axum-sessions = "0.5.0"
axum-login = "0.5.0"
tokio-util = { version = "0.7.8", features = ["full"] }
futures = "0.3"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing = "0.1"
tower = { version = "0.4", features = ["util", "timeout"] }
tower-http = { version = "0.4", features = ["add-extension", "trace", "cors", "limit", "compression-gzip", "validate-request", "auth"] }
tera = "1.18.1"
rust-embed = { version = "6", features = ["include-exclude"] }
anyhow = "1.0"
chrono = {version="0.4.24", default-features = false, features = ["serde", "clock", "std"]}
oauth2 = {version= "4.4.0", features = ["reqwest"] }
async-trait = "0.1"
reqwest = { version = "0.11", features = ["json", "multipart", "stream"] }
eyre = "0.6.8"
lazy_static = "1.4.0"
jsonwebtoken = "8.3.0"
url = "2.3.1"
thiserror = "1.0.40"
utoipa = { version = "3.3.0", features = ["chrono", "time", "axum_extras"] }
utoipa-swagger-ui = { version = "3.1.3", features = ["axum"] }
rand = { version = "0.8.5", features = ["min_const_gen"] }

[dev-dependencies]
rstest = "0.17.0"